19|依赖注入

控制反转、依赖反转、依赖注入

控制反转

控制反转不是具体的编程技巧而是比较笼统的设计思想,主要用于指导框架层面的设计。

以前由程序员来控制程序的执行转换为由框架来控制,程序的执行控制权由程序员变成了框架。

依赖注入

依赖注入是具体的编程技巧
依赖注入不是通过new()的方式在类内部创建依赖的对象,而是预先在外部创建好对象,然后通过构造函数、函数参数的方式引入依赖对象。

可以灵活替换依赖的类,具有比较好的扩展性。

依赖反转原则

高层模块不要依赖低层模块,他们之间应该通过抽象进行关联,另外抽象不要依赖具体实现细节,具体实现可以依赖抽象。